home *** CD-ROM | disk | FTP | other *** search
- /* ModalButtons.c -- Modal dialog */
-
- #include <Types.h>
- #include <Quickdraw.h>
- #include <Controls.h>
- #include <Dialogs.h>
- #include <Events.h>
- #include <Lists.h>
- #include <Menus.h>
- #include <TextEdit.h>
- #include <Appearance.h>
- #include <stdlib.h>
-
- #include "ResourceDefs.h"
- #include "Miscellany.h"
- #include "ControlUtils.h"
-
- #include "Dispatcher.h"
- #include "ModalButtons.h"
-
- #define kOKButton 1
- #define kCapInvisibleLabel 2
- #define kInvisibleButton 3
- #define kStandardButton 4
- #define kDefaultButton 5
- #define kBevelBox 6
- #define kButtonButton 7
- #define kNextButton 8
- #define kNext2Button 9
- #define kGraphicBox 10
- #define kCapcicnLabel 11
- #define kRightButton 12
- #define kCapicl8Label 13
- #define kLightButton 14
- #define kCapICNLabel 15
- #define kRight2Button 16
- #define kCapicl9Label 17
- #define kButton2Button 18
- #define kCapPICTLabel 19
- #define kRight3Button 20
- #define kRect3DButton 21
- #define kLeftIconButton 22
- #define kRightIconButton 23
- #define kTitledPICTButton 24
-
-
- /*----------*/
- Boolean GetModalButtons ()
- {
- Boolean result = false;
- ModalButtons* dialog = NewModalButtons ();
-
- result = AMDialog_RunModal ((AMDialog*)dialog, DLOG_ModalButtons, nil);
-
- DeleteModalButtons (dialog);
-
- return result;
- }
-
- //----------
- ModalButtons* NewModalButtons ()
- {
- ModalButtons* dialog;
-
- dialog = (ModalButtons*)malloc (sizeof (ModalButtons));
- ModalButtons_Init (dialog);
- SetClassID (dialog, classModalButtons);
-
- return dialog;
- }
-
- //----------
- void DeleteModalButtons (
- ModalButtons* dialog)
- {
- ModalButtons_Free (dialog);
- free (dialog);
- }
-
- //----------
- void ModalButtons_Init (
- ModalButtons* self)
- {
- AMDialog_Init ((AMDialog*)self);
- }
-
- //----------
- void ModalButtons_Free (
- ModalButtons* self)
- {
- AMDialog_Free ((AMDialog*)self);
- }
-
- //----------
- void ModalButtons_FinishMake (
- ModalButtons* self)
- {
- self->mOKHandle = AMDialog_GetControlItem ((AMDialog*)self, kOKButton);
- SetDefaultState (self->mOKHandle, true);
- SetDialogDefaultItem (((AMDialog*)self)->mDialog, kOKButton);
- self->mInvisibleHandle = AMDialog_GetControlItem ((AMDialog*)self, kInvisibleButton);
- self->mStandardHandle = AMDialog_GetControlItem ((AMDialog*)self, kStandardButton);
- self->mDefaultHandle = AMDialog_GetControlItem ((AMDialog*)self, kDefaultButton);
- SetDefaultState (self->mDefaultHandle, true);
- SetDialogDefaultItem (((AMDialog*)self)->mDialog, kDefaultButton);
- self->mBevelHandle = AMDialog_GetControlItem ((AMDialog*)self, kBevelBox);
- self->mButtonHandle = AMDialog_GetControlItem ((AMDialog*)self, kButtonButton);
- SetBevelButtonGraphicAlignment (self->mButtonHandle, kControlBevelButtonAlignCenter, 0, 0);
- self->mNextHandle = AMDialog_GetControlItem ((AMDialog*)self, kNextButton);
- SetBevelButtonTextPlacement (self->mNextHandle, kControlBevelButtonPlaceToRightOfGraphic);
- SetBevelButtonTextAlignment (self->mNextHandle, kControlBevelButtonAlignTextFlushLeft, 0);
- SetBevelButtonGraphicAlignment (self->mNextHandle, kControlBevelButtonAlignLeft, 0, 0);
- self->mNext2Handle = AMDialog_GetControlItem ((AMDialog*)self, kNext2Button);
- SetBevelButtonTextPlacement (self->mNext2Handle, kControlBevelButtonPlaceBelowGraphic);
- SetBevelButtonTextAlignment (self->mNext2Handle, kControlBevelButtonAlignTextCenter, 0);
- SetBevelButtonGraphicAlignment (self->mNext2Handle, kControlBevelButtonAlignTop, 0, 0);
- self->mGraphicHandle = AMDialog_GetControlItem ((AMDialog*)self, kGraphicBox);
- self->mRightHandle = AMDialog_GetControlItem ((AMDialog*)self, kRightButton);
- self->mLightHandle = AMDialog_GetControlItem ((AMDialog*)self, kLightButton);
- self->mRight2Handle = AMDialog_GetControlItem ((AMDialog*)self, kRight2Button);
- self->mButton2Handle = AMDialog_GetControlItem ((AMDialog*)self, kButton2Button);
- self->mRight3Handle = AMDialog_GetControlItem ((AMDialog*)self, kRight3Button);
- self->mRect3DHandle = AMDialog_GetControlItem ((AMDialog*)self, kRect3DButton);
- self->mLeftIconHandle = AMDialog_GetControlItem ((AMDialog*)self, kLeftIconButton);
- self->mRightIconHandle = AMDialog_GetControlItem ((AMDialog*)self, kRightIconButton);
- self->mTitledPICTHandle = AMDialog_GetControlItem ((AMDialog*)self, kTitledPICTButton);
- }
-
- //----------
- void ModalButtons_ConnectToData (
- ModalButtons* self,
- AMSignaler* inData)
- {
- AMDialog_ConnectToData ((AMDialog*)self, inData);
-
- }
-
- //----------
- void ModalButtons_DoItem (
- ModalButtons* self,
- SInt16 inItemHit)
- {
- switch (inItemHit) {
- case kOKButton:
- AMDialog_SetResult ((AMDialog*)self, true);
- break;
- case kInvisibleButton:
- //? this button doesn't have a command
- // DoInvisibleButton ();
- break;
- case kStandardButton:
- //? this button doesn't have a command
- // DoStandardButton ();
- break;
- case kDefaultButton:
- //? this button doesn't have a command
- // DoDefaultButton ();
- break;
- case kButtonButton:
- //? this button doesn't have a command
- // DoButtonButton ();
- break;
- case kNextButton:
- //? this button doesn't have a command
- // DoNextButton ();
- break;
- case kNext2Button:
- //? this button doesn't have a command
- // DoNext2Button ();
- break;
- case kRightButton:
- //? this button doesn't have a command
- // DoRightButton ();
- break;
- case kLightButton:
- //? this button doesn't have a command
- // DoLightButton ();
- break;
- case kRight2Button:
- //? this button doesn't have a command
- // DoRight2Button ();
- break;
- case kButton2Button:
- //? this button doesn't have a command
- // DoButton2Button ();
- break;
- case kRight3Button:
- //? this button doesn't have a command
- // DoRight3Button ();
- break;
- case kRect3DButton:
- //? this button doesn't have a command
- // DoRect3DButton ();
- break;
- case kLeftIconButton:
- //? this button doesn't have a command
- // DoLeftIconButton ();
- break;
- case kRightIconButton:
- //? this button doesn't have a command
- // DoRightIconButton ();
- break;
- case kTitledPICTButton:
- //? this button doesn't have a command
- // DoTitledPICTButton ();
- break;
-
- } // switch
- }
-
- //----------
- void ModalButtons_DataChanged (
- ModalButtons* self,
- long inDataID)
- {
- }
-
- //----------
- Boolean ModalButtons_Filter (
- ModalButtons* self,
- EventRecord *ioEvent,
- DialogItemIndex *outItemHit)
- {
- return AMDialog_Filter ((AMDialog*)self, ioEvent, outItemHit);
- }
-